Local pressure fluctuations caused by the action of turbulent air flow (i.e. wind) across the surface of a microphone are picked up by the microphone in addition to a wanted signal, and manifest as noise in the signal output from the microphone. Time-varying noise created under such conditions is commonly referred to as wind noise or wind “buffet” noise. Wind noise in embedded microphones, such as those found in mobile phones, Bluetooth handsets and hearing aids, interferes with a wanted acoustic signal causing the quality of the acoustic signal to be severely degraded. In severe cases, wind noise is sufficient to saturate the microphone which prevents the microphone from being able to pick up the wanted signal. Wind noise may be impulsive or non-impulsive. Impulsive wind noise is highly transient and may be audible as, for example, pops and clicks. Non-impulsive wind noise is less transient than impulsive wind noise.
Mechanical approaches to mitigating the problem of wind noise have been proposed, for example the use of fairing, open cell foam, shells around the microphone and multiple omni-directional electro-acoustic transducers in the microphone. However, such approaches are not practical or feasible for many small-scale applications.
Software based approaches have also been proposed. For example, US Pub. No. 2007/0030989 describes an approach to detecting wind noise in a signal by comparing to a threshold the ratio of the input signal power at frequencies below a predetermined frequency (typically occupied by wind noise) to the total input signal power. If the threshold is exceeded then wind noise is determined to be present in the signal. The wind noise is then suppressed by attenuating the signal in predetermined frequency bands. Although this method is efficient, the use of the predetermined frequency and the attenuation of the signal in predetermined frequency bands means that it is not adaptable to differing wind conditions. For example, the power-frequency spectrum of wind noise becomes flatter at higher wind speeds. Hence only relying on the proportion of the signal power in frequency bands below a predetermined frequency is unlikely to detect wind noise at all wind speeds. In practice, wind noise acquired by mobile devices rarely remains in a constant spectral pattern, which could render this method ineffective.
Complicated software approaches have been proposed which specifically detect wind noise. For example, US Pub. No. 2004/0165736 describes a three step approach to detecting wind noise. Firstly, transient signals are detected in a voice signal when the average power of the voice signal exceeds the average power of the background noise by more than a predetermined threshold. These transient signals could be impulsive wind noise, or instances of the wanted voice signal. Secondly, if a transient signal is detected then a spectrogram of the voice signal is scanned for spectral patterns typical of wind noise. This involves fitting a straight line to the low-frequency portion of the spectrum and comparing the gradient of the line, and the y-intersect with threshold values. Thirdly, if wind noise is detected, then the transient signal is analysed to discriminate between instances of wanted signal and instances of wind noise. This involves further spectral analysis of the peaks of the transient signal, and comparison of these peaks to those previously processed. Frequencies dominated by wind noise are then attenuated.
Although effective, software based approaches require high levels of processing power, often due in part to the use of complex modelling. Such approaches are unsuitable for low-power embedded platforms which process voice signals in real time.
There is therefore a need to provide an apparatus capable of suppressing wind noise in a voice signal picked up by a microphone, using a process that is low in computational complexity. Additionally, there is a need to provide an apparatus that is able to more effectively suppress wind noise at different wind speeds.